# Contributor: Eric Molitor <eric@molitor.org>
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
# Maintainer: Rasmus Thomsen <oss@cogitri.dev>
pkgname=llvm-libunwind
# Note: Update together with llvm.
pkgver=10.0.1
_pkgname=libunwind
_llvmver=${pkgver%%.*}
pkgrel=0
pkgdesc="LLVM version of libunwind library"
url="https://llvm.org/"
arch="aarch64 armhf armv7 ppc64le x86 x86_64"
license="Apache-2.0"
depends_dev="!libunwind-dev"
makedepends="cmake llvm$_llvmver-dev"
subpackages="$pkgname-static $pkgname-dev"
source="https://github.com/llvm/llvm-project/releases/download/llvmorg-$pkgver/libunwind-$pkgver.src.tar.xz
	link-libssp.patch
	"
builddir="$srcdir/$_pkgname-$pkgver.src"
options="!check"

build() {
	local crossopts=''
	[ "$CBUILD" != "$CHOST" ] && crossopts="
		-DCMAKE_SYSTEM_NAME=Linux
		-DCMAKE_HOST_SYSTEM_NAME=Linux
		-DLIBUNWIND_SYSROOT=$CBUILDROOT"

	cmake -B build \
		-DCMAKE_BUILD_TYPE=MinSizeRel \
		-DCMAKE_C_FLAGS_MINSIZEREL_INIT="$CFLAGS" \
		-DCMAKE_CXX_FLAGS_MINSIZEREL_INIT="$CXXFLAGS" \
		-DCMAKE_EXE_LINKER_FLAGS_MINSIZEREL_INIT="$LDFLAGS" \
		-DCMAKE_INSTALL_PREFIX=/usr \
		-DLLVM_CONFIG_PATH="/usr/lib/llvm$_llvmver/bin/llvm-config" \
		-DLIBUNWIND_HAS_NODEFAULTLIBS_FLAG=OFF \
		$crossopts
	make -C build
}

package() {
	make -C build install DESTDIR="$pkgdir"

	mkdir -p "$pkgdir"/usr/include
	cp include/*.h "$pkgdir"/usr/include/
}


sha512sums="8d717ba951ca25ca133a5d204cd7cca693402003a5a91cd2bc2bb0427486ccd37beac45aa54a6e7830c5358ecb64d1d674f7522e3192be7f9dba8384ad757f26  libunwind-10.0.1.src.tar.xz
28063f237033006666491d8475d57f4c9cc998ac22ad06234fdb6cf54cc434d79ab1778c8dbb3ec02764096d5e65c31a7e3976f079fc56b702f3abd16ac93f0e  link-libssp.patch"
